package com.wm.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wm.system.domain.SysMission;
import com.wm.system.domain.vo.SysMissionVo;
import com.wm.system.domain.vo.SysStudentVo;
import com.wm.system.filter.SysMissionSearchContext;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 待办任务服务类
 */
@Service
public interface ISysMissionService extends IService<SysMission> {

    /**
     * 创建多人待办
     * @param missionName 待办名称
     * @param missionType 待办类型（业务实体类名）
     * @param receiverId 接收人id
     * @param businessId 业务数据id
     * @param node      节点，工作流为formKey，非工作流为32uuid
     * @param isSingle  是否单人处理即完成
     */
    void createMission(String missionName, String missionType, List<Long> receiverId, Long businessId, String node, String isSingle);

    /**
     * 创建单人待办
     * @param missionName 待办名称
     * @param missionType 待办类型（业务实体类名）
     * @param receiverId 接收人id
     * @param businessId 业务数据id
     * @param node      节点，工作流为formKey，非工作流为32uuid
     */
    void createMission(String missionName, String missionType, Long receiverId, Long businessId, String node);

    /**
     * 完成待办任务
     * @param missionType 待办类型（业务实体类名）
     * @param uid         接收人id
     * @param businessId  业务数据id
     * @param node        节点，工作流为formKey，非工作流为32uuid
     */
    void completMission(String missionType, Long uid, String businessId, String node);

    Page getPage(SysMissionSearchContext context);
}
